/**
 * 装饰器模式
 */ 
// 为所有的input输入框添加默然提示，点击的时候提示消失

// 装饰者
var decorator = function(input, fn){
  var input = document.getElementById(input);
  if(typeof input.onclick === 'function'){
    var oldClick = input.onclick;
    input.onclick = function(){
      oldClick()
      fn()
    }
  }else{
    input.onclick = fn
  }
}

// 调用
decorator('tel_input',function(){
  document.getElementById('tel_text').style.display = 'none'
})



// 装饰 -----------------
class Request {
  ajax() {
    return new Promise((resolve, reject) => {
      console.log("进行ajax请求")
      resolve()
    });
  }
}

class RequestWithLog {
  constructor() {
    this.request = new Request();
  }

  ajax() {
    console.log("开始ajax请求")
    return this.request.ajax().then(() => {
      console.log("结束ajax请求")
    })
  }
}